home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / UTILREEN / SIMCGA.LZH / HGCIBM.DOC < prev    next >
Text File  |  1987-05-22  |  44KB  |  1,223 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                              HGCIBM.COM Version 2.01
  13.                Copyright (C) Athena Digital, Gary Batson 1986, 1987
  14.             145 Green Hills Rd. - Athens, Ga. 30605 - (404) 354-4522
  15.  
  16.                          This manual dated April 20,1987
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                         1
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                     CONTENTS
  69.  
  70.  
  71.  
  72.  
  73.                                    HGCIBM.COM
  74.  
  75.         Acknowledgements .............................................  3
  76.         Trademarks ...................................................  3
  77.         Using HGCIBM.COM .............................................  3
  78.         Precautions ..................................................  3
  79.         Installation .................................................  4
  80.         Using the Command Line .......................................  5
  81.         HGCTEST program ..............................................  5
  82.         Sales and Distribution Policies ..............................  6
  83.         User Comments ................................................  6
  84.         History ......................................................  6
  85.         Future .......................................................  7
  86.         Changes and Corrections ......................................  7
  87.         Technicalities ...............................................  8
  88.         Extended Functions ...........................................  8
  89.  
  90.                                    ATHENA.SYS
  91.  
  92.         Purpose ...................................................... 11
  93.         Features ..................................................... 11
  94.         Control Program .............................................. 12
  95.         Sales and Distribution Policies .............................. 12
  96.         Upgrades ..................................................... 13
  97.         Software Author Note ......................................... 13
  98.         Extended Functions ........................................... 14
  99.         Library Versions ............................................. 18
  100.         QBDEMOC program .............................................. 18
  101.  
  102.  
  103.  
  104.              This program is distributed as Shareware. All rights are
  105.         reserved except for distribution of the program and its
  106.         documentation IN ITS ENTIRETY and un-modified. You may test and
  107.         use this program for 30 days, after which you must register it,
  108.         destroy it, or pass in along to a friend. If you would like to
  109.         keep HGCIBM, see the pricing below. This DOES NOT APPLY to those
  110.         who contributed to HGCIBM Version 1.11. Those individuals are
  111.         welcome to this upgrade without further remuneration. Please
  112.         accept it with my THANKS!!
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.                                  Athena Digital
  120.           145 Green Hills Rd.  -   Athens, Ga.   -   (404) - 354 - 4522
  121.  
  122.  
  123.  
  124.                                         2
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                 ACKNOWLEDGEMENTS
  135.  
  136.              Athena Digital would like to thank IBM for creating the
  137.         Personal Computer and Hercules Computer Technology for making PC
  138.         graphics as pleasurable as PC TTL text.
  139.  
  140.              I would also like to thank my wife for putting up with my
  141.         pre-occupation all these years, and one Scott Schultz for his
  142.         proding and enthusiasm without which the first simple emulator
  143.         would probably never have been uploaded.
  144.  
  145.  
  146.                               TRADEMARKS MENTIONED
  147.  
  148.              Hercules Graphics Card is a trademark of Hercules Computer
  149.         Technology
  150.              IBM is a trademark of International Business Machines
  151.              Microsoft Mouse and Quickbasic are trademarks of Microsoft
  152.         Corporation
  153.              ATHENA.SYS is a trademark of Athena Digital
  154.  
  155.  
  156.                                 USING HGCIBM.COM
  157.  
  158.              The purpose of this program is to provide owners of Hercules
  159.         Graphics Cards* a means to run software written for the IBM*
  160.         Color Graphics Adapter, and to introduce a commercial version of
  161.         the Athena Digital emulator called ATHENA.SYS (T) which offers
  162.         added functionality.
  163.  
  164.                                    PRECAUTIONS
  165.  
  166.                           MONOCHROME DISPLAY DAMAGE !!!
  167.  
  168.              This program will not damage your display, but certain
  169.         application software certainly can. Programs which attempt to by-
  170.         pass the BIOS (Basic Input/Output System) to set the CRT
  171.         operating parameters will cause severe problems. Fortunately
  172.         since most software operates in standard modes, most software
  173.         vendors permit BIOS to set up the controller for them even if
  174.         they later write to screen ram directly. HGCIBM will intercept
  175.         the BIOS calls for all standard modes and program the controller
  176.         correctly. Writing directly to screen ram is permitted and the
  177.         emulator will still work properly. When trying an un-tested (with
  178.         HGCIBM) program for the first time, watch your display carefully
  179.         for signs of gross distortion or shrinking when the program sets
  180.         graphics mode. IF THIS OCCURS, RE-BOOT OR TURN OFF YOUR COMPUTER
  181.         IMMEDIATELY. The display should return to normal quickly when you
  182.         re-boot.
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.                                         3
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                   INSTALLATION
  201.  
  202.              To install the emulator, you must tell it what mode to start
  203.         out in, and a little information about your hardware. There are
  204.         three "modes" of operation for HGCIBM as follows:
  205.  
  206.              The /E[mulate] mode enables the emulator to respond to bios
  207.         calls to set standard CGA modes and provides maximum
  208.         compatibility with programs expecting to use the Color Graphics
  209.         Adapter, but displays the information on your Hercules adapter.
  210.         When the emulator is in this mode, the text buffer is at segment
  211.         B800 and the equipment flag is set to indicate that a CGA card is
  212.         present. Alas, you can't fool all the programs all the time. Some
  213.         of them read the equipment flag and then try to manipulate the
  214.         crt controller directly in order to provide faster screen output.
  215.         Naturally they try to do this at the CGA port addresses (which
  216.         don't exist) and will hang the system (ATHENA.SYS provides
  217.         algorithms to circumvent these hang-ups). A re-boot will cure the
  218.         problem and you should then remember to either un-install the
  219.         emulator before running these programs or simply place it in
  220.         /M(ono) mode or /C[GA] mode (if you have a physical CGA) as
  221.         described below.
  222.  
  223.              The /M[ono] mode effectively disables HGCIBM without
  224.         uninstalling it. The monochrome card is selected and Video BIOS
  225.         control returns to the computer's ROM (Read only Memory).
  226.  
  227.              The /C[ga] mode also disables HGCIBM and returns control to
  228.         ROM except the physical Color Graphics Adapter is selected if it
  229.         exists.
  230.  
  231.              There are also 3 installation switches available to warn
  232.         HGCIBM about special hardware. During initialization, the program
  233.         tries to determine if a Color Graphics Adapter is present. If it
  234.         is, the program will not install unless you assure it that the
  235.         Color Graphics Adapter in your system is compatible with Hercules
  236.         Graphics cards. If yours is or you have a Leading Edge computer,
  237.         then you should use these switches:
  238.  
  239.              The /H[ercules compatible] switch instructs HGCIBM to
  240.         install and allow the emulation mode even though a Color Graphics
  241.         Adapter is present. You may use this switch on installation if
  242.         you have a Hercules compatible CGA card in your system. If a CGA
  243.         card is present, HGCIBM will abort installation unless the /H
  244.         switch is used. Also note that some software will output to the
  245.         CGA registers (3D4, 3D5, 3D8, etc.) to adjust video parameters.
  246.         This can wreak havoc on the real CGA adapter while in Emulation
  247.         mode. If the CGA is not physically present, this output causes no
  248.         problems and is ignored by Hercules adapters.
  249.  
  250.              The /L[eading Edge] switch instructs HGCIBM to install if
  251.         the Leading Edge Model D is connected to a TTL display.
  252.  
  253.  
  254.  
  255.  
  256.                                         4
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.              The /U[n-install] switch instructs the emulator to reset all
  267.         vectors and remove itself from memory, freeing the space for
  268.         other programs. You may un-install the emulator provided that
  269.         other programs have not altered vectors 8h and 10h, but memory
  270.         may become segmented if you have loaded another resident program
  271.         after HGCIBM. The system will be left in the same condition it
  272.         was in before the installation. (i.e. monochrome display).
  273.  
  274.                              USING THE COMMAND LINE
  275.  
  276.              Simply type the command HGCIBM with a mode switch to install
  277.         or change to that mode. If you have special hardware, ADD the
  278.         hardware switch to the mode switch on the same command line as
  279.         shown in the following examples:
  280.  
  281.         HGCIBM /M      - installs in (or changes to) MONO mode (emulation
  282.                          disabled)
  283.         HGCIBM /C      - installs in (or changes to) CGA mode (emulation
  284.                          disabled)
  285.         HGCIBM /E      - installs in (or changes to) Emulation mode.
  286.         HGCIBM /U      - un-installs the emulator
  287.         HGCIBM /M/H    - informs HGCIBM that a Hercules compatible CGA is
  288.                          physically present.
  289.         HGCIBM /M/L    - informs HGCIBM that you have a Leading Edge
  290.                          computer.
  291.  
  292.         These commands may be issued from a batch file if desired.
  293.         Hardware switches are needed only on installation.
  294.  
  295.         To change modes after installation, just enter the command as
  296.         above. HGCIBM always checks to see if it is already installed and
  297.         will process the command correctly.
  298.  
  299.                                  HGCTEST PROGRAM
  300.  
  301.              This program is provided for you to test the operation of
  302.         HGCIBM with your computer configuration. Before running HGCTEST,
  303.         Load the emulator with the /E[mulate] switch. HGCTEST.BAS runs
  304.         under BASICA. Just enter BASICA HGCTEST to run it (assuming
  305.         BASICA is on the default drive with HGCTEST). The program is a
  306.         simple graphics demo and is self explanatory. If you have a basic
  307.         compiler, the demo program can be compiled to test the compiler.
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.                                         5
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                   SALES AND DISTRIBUTION POLICIES - HGCIBM.COM
  333.  
  334.              There is no limitation on distribution of HGCIBM.COM as long
  335.         as no remuneration is accepted in connection with it's
  336.         distribution, and as long as it is distributed un-modified and in
  337.         it's entirety. You are permitted a 30 day trial period to decide
  338.         whether or not you wish to keep HGCIBM or purchase ATHENA.SYS
  339.         after which you must either register it with Athena Digital,
  340.         destroy it, or pass it along to someone else. The registration
  341.         fee for HGCIBM.COM is $9.95 in check or money order.
  342.  
  343.              OEMS and Dealers are encouraged to support ATHENA.SYS with
  344.         their products, but may be permitted to distribute HGCIBM with
  345.         their materials provided that Athena Digital receives the
  346.         registration fee. Those interested should contact Athena Digital
  347.         for details.
  348.  
  349.                                   USER COMMENTS
  350.  
  351.              Let us know what you think. Any criticism is better than
  352.         none and will help to steer us along a path which is in the
  353.         majority's best interest. Your suggestions need not be limited to
  354.         graphics. Any comment regarding Athena Digital programs or
  355.         documentation is welcome.
  356.  
  357.              Thank you for your support.
  358.  
  359.  
  360.                                      HISTORY
  361.  
  362.              In June of 1986, Athena Digital uploaded a simple "Freeware"
  363.         emulator for Hercules cards which supported only the 200 by 640
  364.         Color Graphics Card mode (HGCIBM.COM Version 1.11). To our
  365.         knowledge, this was the first such program publicly announced. At
  366.         first glance there would appear to be no physical way to
  367.         effectively display CGA graphics on a ttl card. It not only could
  368.         be done, but done in such a way that resulting display quality is
  369.         actually better than the real CGA though it is in shades of black
  370.         and white. Support came in from users as far as Israel and
  371.         eventually from CGA software developers. This support inspired
  372.         Athena Digital to create HGCIBM.COM Version 2.00 which offers
  373.         emulation support of all of the CGA modes and to start the
  374.         development of Athena's own Video BIOS to support not only
  375.         emulation, but to provide an upgradeable and expandable Video
  376.         BIOS which enhances any display system.
  377.  
  378.              Version 2.01 is no longer offered as freeware. It is not
  379.         copy restricted, but it is required that that it be registered if
  380.         and only if the copy is kept. If the user determines that he does
  381.         not wish to keep HGCIBM, he must pass his copy on to someone
  382.         else, or destroy (erase) it. This does not apply to those who
  383.         contributed monetarily to HGCIBM Version 1.11. Those individuals
  384.         are more than welcome to version 2.01 with no further
  385.         contribution.
  386.  
  387.  
  388.  
  389.                                         6
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.                                      FUTURE
  400.  
  401.              Version 2.01 does not provide all of the Athena Digital
  402.         support functions. It is a fully functional emulator only, and
  403.         does not offer support for Microsoft Mouse* or extended video
  404.         BIOS calls except for a subset of calls 0B0h (SetContext) and
  405.         0BFh (AthenaState) as described below. Due to restrictions
  406.         imposed by the "resident" utility implementation, the next
  407.         release of Athena's BIOS (ATHENA.SYS Version 3.00) will be in the
  408.         form of an MS-DOS device driver. Installed in this way, the
  409.         program becomes as much a part of the operating system as is the
  410.         ROM video BIOS, except that it can be easily upgraded and
  411.         enhanced. Future enhancements will be limited to ATHENA.SYS, thus
  412.         obseleting HGCIBM.COM except as an emulator only. If bugs are
  413.         found in HGCIBM, they will be corrected. For more information
  414.         about ATHENA.SYS, read the section called ATHENA.SYS Video BIOS
  415.         in this document.
  416.  
  417.                        HGCIBM CHANGE AND CORRECTION NOTES
  418.  
  419.                                    BUGS FIXED
  420.  
  421.              o    Version 1.11 would sometimes crash with programs that
  422.         intercepted the timer interrupt while in Graphics, and then
  423.         changed to text.
  424.              o    If interrupts were redirected, Version 1 could not find
  425.         itself for a mode change and would install a second copy. Now it
  426.         can find and control itself unless it is bypassed altogether.
  427.              o    Version 2.00 (beta test version) would not install on a
  428.         Leading Edge due to differences in the way the Leading Edge video
  429.         buffers are implemented. This was corrected with the /L[eading
  430.         Edge] switch.
  431.  
  432.                                   ENHANCEMENTS
  433.  
  434.              o    Version 2.01 contains a SUBSET of Athena Digital's own
  435.         video bios and will support a wider range of compatibles as well
  436.         as the AT. This also provided a means for improved screen
  437.         behavior in color text mode, and faster screen operations if bios
  438.         is used.
  439.              o    All standard video modes are now supported. The 320 x
  440.         200 mode supports two intensities(colors). Color 1 and color 2
  441.         will appear identical, where color 3 will be high intensity.
  442.         Forty column text is supported but will  be displayed on the left
  443.         half of the screen only at the same resolution as eighty column
  444.         text. All four pages of 80 column text (or 8 pages of 40 column
  445.         text) are available on true Hercules cards. Some of the
  446.         compatibles will support only one text page at 80 columns, and 2
  447.         at 40 columns.
  448.              o    Version 2.01 provides extended bios calls which
  449.         assembly language programs can use to determine if HGCIBM is
  450.         present, and what version it is.
  451.  
  452.  
  453.  
  454.  
  455.                                         7
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.                                  TECHNICALITIES
  466.  
  467.              HGCIBM installs itself between two BIOS (Basic Input/Output
  468.         System) interrupts. The two interrupts used in this way are hex
  469.         10 (BIOS video) and hex 8 (timer). The later is used only while
  470.         in graphics mode. HGCIBM will fail to function properly if it is
  471.         not given control during the above interrupts. Other software
  472.         using interrupt 8 be called on a priority basis, preempting
  473.         HGCIBM if necessary. HGCIBM version 2.01 no longer passes
  474.         interrupt 10h (while in emulation mode) since it was learned that
  475.         compatible ROM bios was not always entirely compatible. If you
  476.         have other software using interrupt 10h, try loading it after
  477.         HGCIBM. You can still control HGCIBM after the interrupt is
  478.         changed but you will not be allowed to un-install it. HGCIBM need
  479.         be loaded only once each time the computer is started since it
  480.         attaches itself to BIOS and stays in memory until re-boot or it
  481.         is commanded to un-install. The memory usage has increased to
  482.         about 5k now due to bypassing of ROM video bios in emulation
  483.         mode, but does provide much improved color text emulation and
  484.         should be compatible with a wider variety of machines.
  485.  
  486.                        HGCIBM.COM EXTENDED VIDEO FUNCTIONS
  487.  
  488.              This section is provided for those familiar with IBM PC
  489.         assembly language. The following calls are made through the
  490.         standard video interrupt 10H.
  491.  
  492.         ;
  493.         (AH)=B0h     SetContext - (AL) contains context value
  494.  
  495.              In HGCIBM, these functions simply enable or disable the
  496.         emulation modes. As can be seen, most mode numbers mimic those
  497.         provided by the standard PC bios. The difference between these
  498.         modes and the standard AH=0 call is that the driver behavior
  499.         switches are modified before the mode change. A call here for any
  500.         of the standard modes will disable the emulator bios and pass
  501.         calls to the computer's rom. A call here higher than 7 will
  502.         enable the emulation modes. These changes affect the way HGCIBM
  503.         interprets calls to the standard bios function 0 as shown below.
  504.         These calls cannot be used to overide the hardware setup
  505.         determined by HGCIBM during initialization. Calls for invalid
  506.         context switches are ignored and the call returns with the carry
  507.         flag set:
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.                                         8
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.         HGCIBM function calls:
  532.  
  533.         TARGET MODE         EMULATION      TARGET ADAPTER
  534.  
  535.         Standard Modes:  (HGCIBM will re-enable ROM bios)
  536.         (AL)=0              disabled       CGA 40x25 b/w text
  537.         (AL)=1              disabled       CGA 40x25 Color text
  538.         (AL)=2              disabled       CGA 80x25 BW text
  539.         (AL)=3              disabled       CGA 80x25 Color text
  540.         (AL)=4              disabled       CGA 200x320 Color grph
  541.         (AL)=5              disabled       CGA 200x320 BW grph
  542.         (AL)=6              disabled       CGA 200x640 BW grph
  543.         (AL)=7              disabled       MONO 80x25 BW text
  544.  
  545.         CGA Emulation Modes: (correspond to Standard modes 0 - 6)
  546.         (AL)=20 - (AL)=26   enabled        HERC page at B800h
  547.  
  548.         Hercules only modes are not supported by HGCIBM.
  549.         ;
  550.         (AH)=BFh      AthenaState - Return the current driver state.
  551.                        (AL) = Current mode (as set in call B0h)
  552.                        (AH) = Character Columns on screen
  553.                        (BH) = Current Active Display Page
  554.                        (DX) = Installed options, switch states
  555.                               D0 = 1 if mono or hercules card is
  556.                                      installed.
  557.                               D1 = 1 if cga card is present
  558.                               D3 = 1 if hercules modes/cga emulation are
  559.                                      allowed.
  560.                               D4 = 1 if emulation modes are enabled
  561.                                      *HGCIBM supports D0,D1,D3,and D5
  562.                                       only. Others will always be 0.
  563.                        (CX) = ATHENA/HGCIBM version number
  564.                               (CH) has major version
  565.                               (CL) has minor version
  566.                               * set cx to 0 before calling function BFh,
  567.                                 if 0 is returned, ATHENA.SYS or
  568.                                 HGCIBM.COM (version 2 or higher) are not
  569.                                 installed. If the major version is
  570.                                 greater than or equal to 3, the response
  571.                                 is from ATHENA.SYS. HGCIBM.COM will not
  572.                                 be upgraded past major version 2.00. All
  573.                                 future enhancements will be limited to
  574.                                 ATHENA.SYS or language libraries.
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.                                         9
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.         HGCIBM function calls:
  598.         ;
  599.         (AH) = 0      SetMode - (AL) contains new mode value
  600.                       The new mode is set according to the current
  601.                       switches and the screen is cleared.
  602.  
  603.         STANDARD MODES:
  604.  
  605.         NEW MODE         EMULATION FLAG         TARGET SCREEN
  606.  
  607.         (AL)=0              disabled            CGA 40x25 b/w text
  608.                             enabled             HERC 40x25 emulation
  609.         (AL)=1              disabled            CGA 40x25 Color text
  610.                             enabled             HERC 40x25 emulation
  611.         (AL)=2              disabled            CGA 80x25 BW text
  612.                             enabled             HERC 80x25 emulation
  613.         (AL)=3              disabled            CGA 80x25 Color text
  614.                             enabled             HERC 80x25 emulation
  615.         (AL)=4              disabled            CGA 200x320 Color grph
  616.                             enabled             HERC 200x320   emulation
  617.         (AL)=5              disabled            CGA 200x320 BW grph
  618.                             enabled             HERC 200x320   emulation
  619.         (AL)=6              disabled            CGA 200x640 BW grph
  620.                             enabled             HERC 200x640 emulation
  621.         (AL)=7              don't care          MONO 80x25 BW text one page
  622.                        (resets emulation flag and returns to ROM)
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.                                        10
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.                            ATHENA.SYS (T) Version 3.00
  664.                Athena Digital Video BIOS for MS-DOS (T) Computers
  665.                         scheduled release - May 15, 1987
  666.  
  667.  
  668.                                      PURPOSE
  669.  
  670.              For some unknown reason, hardware and software vendors have
  671.         not seen fit to establish adequate specifications and graphics
  672.         support for the widely used Hercules Graphics standard. The most
  673.         peculiar aspect of this is the fact that the Hercules standard
  674.         was the third available for the IBM personal computer and the
  675.         first which offered truly high graphics resolution as well as the
  676.         first to support graphics on the ttl monochrome display. Today,
  677.         this standard is almost universally accepted as the display
  678.         adapter of choice for ttl monochrome PC systems and its display
  679.         quality is yet challenged only by the expensive EGA standard
  680.         which also requires an expensive color monitor to exploit it's
  681.         capabilities. Even then, the EGA provides a lower horizontal
  682.         resolution (640 horizontal, rather than 720). Athena Digital will
  683.         attempt to remedy this by making it as simple as possible for
  684.         vendors to exploit the capabilities of the Hercules card by
  685.         providing a BIOS which fully supports the Hercules monochrome
  686.         card and/or Color Graphics Card (and eventually others) with fast
  687.         support for standard modes, CGA emulation, and several new modes.
  688.  
  689.              One of the primary enhancements provided by ATHENA BIOS is
  690.         emulation of the Color Graphics Adapter on the Hercules Graphics
  691.         Card. This allows Hercules owners to run the majority of graphics
  692.         programs which do not already support the hercules adapter. This
  693.         includes programs like BASICA and programs running under the
  694.         BASIC compiler, as well as increasingly popular programs like
  695.         QUICKBASIC. This eliminates the need for a Color monitor and
  696.         graphics card in many cases with obvious price advantages.
  697.  
  698.              ATHENA also provides bios support for the higher resolution
  699.         Hercules 350 vertical by 720 horizontal modes, and a new 350
  700.         vertical by 360 mode with three intensities and 4 logical pixel
  701.         colors. ATHENA provides ALL of the Standard BIOS call support for
  702.         these new modes including character generation and scrolling,
  703.         which greatly simplifies direct support of hercules high
  704.         resolution modes by software vendors and makes it universally
  705.         possible for applications developers to determine the computer's
  706.         video hardware capabilities and behave accordingly.
  707.  
  708.                                  ATHENA FEATURES
  709.  
  710.         o    Supports 5 new Hercules only modes, which are as
  711.              readily available to applications developers as are the
  712.              standard modes.
  713.  
  714.         o    Provides extended equipment, system capability information
  715.              for applications.
  716.  
  717.  
  718.  
  719.  
  720.                                        11
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.         o    Supports Color Graphics Adapter Programs on the Hercules
  731.              Graphics Card, and includes algorithms to support Microsoft
  732.              Mouse sofware and prevent many of the "hangups" experienced
  733.              with earlier software emulators.
  734.  
  735.         o    Supports high speed ANSI console escape sequences.
  736.  
  737.         o    Supports new "context switching" between adapters and
  738.              certain modes.
  739.  
  740.         o    Supports faster video operation in ALL modes than Standard
  741.              ROM BIOS.
  742.  
  743.         o    Simple replacement for "buggy compatible" BIOS.
  744.  
  745.         o    Installs as a device driver for MS-DOS version 2.00 or later
  746.  
  747.         o    Adds PC-AT BIOS print string functions to the PC
  748.  
  749.              Once installed, ATHENA replaces the standard MS-DOS "CON"
  750.         device driver and ROM video bios unless an EGA card is present.
  751.         By integrating BIOS with DOS, faster DOS screen output is
  752.         possible. Installation is a matter of copying ATHENA.SYS to your
  753.         boot disk, and inserting a one line command in your MS-DOS
  754.         config.sys file. This MUST be the FIRST "DEVICE =" command in the
  755.         file and has the following basic form:
  756.  
  757.                                DEVICE = ATHENA.SYS
  758.  
  759.              ATHENA.SYS is compatible with a variety of MS-DOS computers,
  760.         including the PC, PC-AT, and Leading Edge. Our aim is to work
  761.         with as many different computers and display adapters as
  762.         possible, so enhancements can be expected periodically.
  763.  
  764.              Version 3.00 video bios does not support EGA so it aborts
  765.         installation if the EGA is detected. Future products will likely
  766.         support the EGA for uniformity but EGA graphics are supported in
  767.         EGA bios, and there is no apparent need to extend it at this
  768.         time. The EGA hardware standard also conflicts directly with the
  769.         Hercules standard. Our present purpose is to provide support for
  770.         the multitude of Hercules and/or CGA systems.
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.                                        12
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.                    CONTROLLING ATHENA BIOS AFTER INSTALLATION
  797.  
  798.              Along with ATHENA.SYS, you are provided ATHENA.EXE which
  799.         allows you keyboard control over ATHENA's variety of modes.
  800.         ATHENA.EXE operates as any other external DOS command. Simply
  801.         place it in your program directory and use it with switches as
  802.         below. If you forget the switches, just type ATHENA and it will
  803.         give you a help screen.
  804.  
  805.         ATHENA /M[ono]      - Places BIOS in MONO mode (emulation disabled)
  806.         ATHENA /C[ga]       - Places BIOS in CGA mode (emulation disabled)
  807.         ATHENA /E[mulate]   - Places BIOS in CGA EMULATION mode.
  808.         ATHENA /?           - Gives a report of ATHENA's status.
  809.         ATHENA /Q[uiet]     - ADD this switch to others to suppress messages
  810.  
  811.            These commands may be issued from a batch file if desired.
  812.  
  813.                   SALES AND DISTRIBUTION POLICIES - ATHENA.SYS
  814.  
  815.              ATHENA.SYS is a fully restricted program, and will soon be
  816.         offered for sale by mail order, through OEMS, and dealers.
  817.         Illegal distribution of this program is punishable in the same
  818.         manner as any other copyrighted work (if someone has provided you
  819.         a copy of ATHENA.SYS you must destroy it immediately). For the
  820.         purchase price of $34.95, you will receive the program on a 5.25"
  821.         IBM format diskette with documentation sheets, and be notified of
  822.         upgrades at low cost as they become available.
  823.              Dealers, OEMS, and those desiring Site Licenses are welcome and
  824.         encouraged to contact Athena Digital about liberal discounts.
  825.  
  826.                               UPGRADING FROM HGCIBM
  827.  
  828.              If you have already registered HGCIBM and wish to upgrade to
  829.         ATHENA, you may do so at a reduced rate for a limited time.
  830.              To order the upgrade, send your registration name and
  831.         address along with 29.95 in a check or money order (normally
  832.         34.95).
  833.  
  834.                                 SOFTWARE AUTHORS
  835.  
  836.              You do not have to distribute ATHENA to support it, Athena
  837.         Digital for one will make the program infinitely available to
  838.         users. If you do decide to enhance your product specifications by
  839.         supporting the emulation modes (your product probably already
  840.         does) or the extended modes, simply send us your company name,
  841.         your product(s) name, your name, your address, and your telephone
  842.         number. From time to time, Athena Digital will upload a
  843.         "supporting product listing", and will keep you informed of
  844.         updates and enhancements. If you would like to mention your
  845.         support in your product specifications, you are encouraged to do
  846.         so provided you include the trademark notice as in the example
  847.         below.
  848.  
  849.  
  850.  
  851.  
  852.                                        13
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.         <program name> supports the Hercules emulation modes of
  863.                        ATHENA.SYS (T) Video Bios.
  864.  
  865.         <bottom or top of page>
  866.         ATHENA.SYS is a registered trademark of Athena Digital
  867.  
  868.                             ATHENA.SYS FUNCTION CALLS
  869.  
  870.              This information is provided for technical users, and
  871.         presumes familiarity with Standard BIOS function calls.
  872.         ; *****
  873.         (AH)=B0h     SetContext - (AL) contains context value
  874.  
  875.              These functions first change the current state switches to
  876.         that indicated below and then switch to the requested context. As
  877.         can be seen, most mode numbers mimic those provided by the
  878.         Standard PC BIOS.
  879.              The difference between these modes and the standard AH=0
  880.         call is that the driver behavior switches are modified before the
  881.         mode change and the concept of contexts is introduced for each
  882.         mode. For instance, if the driver were currently set to
  883.         acknowledge an active CGA card, but it is desired to switch the
  884.         active display to emulation CGA or one of the Hercules only
  885.         modes, a call here for the desired mode would freeze the CGA
  886.         screen and switch contexts to the requested screen.
  887.              If the target of the switch is the same as it was when it
  888.         was last active the target screen is not cleared. If a target
  889.         mode change is required then the target screen is cleared. In
  890.         either case, the context switches to the new active screen.
  891.         Context switches also affect the way ATHENA interprets calls to
  892.         the standard bios function 0 as shown below. These calls cannot
  893.         be used to overide the hardware setup determined by ATHENA during
  894.         initialization. Calls for invalid context switches are ignored
  895.         and the call returns with the carry flag set:
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.                                        14
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.         ATHENA.SYS function calls:
  929.              To force Athena to clear the target screen, set D7 in
  930.         register AL (or the mode value with 80H).
  931.         ;
  932.         TARGET MODE         EMULATION           TARGET SCREEN
  933.  
  934.                                  Standard Modes
  935.  
  936.         (AL)=0              deactivated         CGA 40x25 b/w text
  937.         (AL)=1              deactivated         CGA 40x25 Color text
  938.         (AL)=2              deactivated         CGA 80x25 BW text
  939.         (AL)=3              deactivated         CGA 80x25 Color text
  940.         (AL)=4              deactivated         CGA 200x320 Color grph
  941.         (AL)=5              deactivated         CGA 200x320 BW grph
  942.         (AL)=6              deactivated         CGA 200x640 BW grph
  943.         (AL)=7              deactivated         MONO 80x25 BW text
  944.  
  945.                                Hercules only modes
  946.  
  947.         CGA Emulation Modes: (correspond to Standard modes 0 - 6)
  948.         (AL)=20
  949.            .                activated           HERC page at B800h
  950.            .
  951.         (AL)=26
  952.  
  953.         Hercules Text Mode: (supports 8 pages)
  954.         (AL)=27             activated           HERC 80x25 BW text
  955.  
  956.         Herc Modes:
  957.         (AL)=28             no change           HERC 350x720 at B000
  958.         (AL)=29             no change           HERC 350x720 at B800
  959.         (AL)=30             no change           HERC 350x360 at B000*
  960.         (AL)=31             no change           HERC 350x360 at B800*
  961.  
  962.                  *modes 18 and 19 support low and high intensity
  963.  
  964.              Certain mode changes are not possible without erasure of a
  965.         previous context and screen. The following HERCULES context
  966.         changes can be accomplished without erasure of a previous context.
  967.  
  968.         (Emulation modes 24 - 26) and (modes 7,27,28 or 30):
  969.  
  970.              These two groups use separate Hercules pages and do not
  971.         destroy each other. Changes made within each group are
  972.         destructive to other modes in the same group.
  973.  
  974.         (modes 28 and 30) and (modes 29 and 31):
  975.  
  976.              Context is retained when switching between groups, but lost
  977.         when switching between modes within the same group.
  978.  
  979.              Emulation modes 20 - 23 destroy the context of all other
  980.         Hercules modes because they use both adapter pages.
  981.  
  982.  
  983.  
  984.  
  985.                                        15
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.         ATHENA.SYS function calls:
  996.  
  997.         (modes 0 - 6) and all others:
  998.              Context is retained when switching adapters.
  999.         ; *****
  1000.         (AH)=BFh      AthenaState - Return the current driver state.
  1001.              OUTPUT:
  1002.                        (AL) = Current mode (as in call B0h)
  1003.                        (AH) = Character Columns on screen
  1004.                        (BH) = Current Active Display Page
  1005.                        (DX) = Installed options, switch states
  1006.                            D0 = 1 if mono or hercules card is installed
  1007.                            D1 = 1 if cga card is installed
  1008.                            D2 =   reserved
  1009.                            D3 = 1 if hercules modes/cga emulation are allowed
  1010.                            D4 = 1 if emulation modes are activated
  1011.                            D5 = 1 if ansi console codes are enabled
  1012.                            D6 = 1 if it is necessary to wait for
  1013.                                   horizontal retrace before CGA text
  1014.                                   screen updates. This bit is reset by
  1015.                                   default when ATHENA initializes. If the
  1016.                                   /W(ait) option switch is used on the
  1017.                                   installation command line, this bit
  1018.                                   will be set to cause ATHENA to wait for
  1019.                                   retrace when updating CGA text. This
  1020.                                   switch has no effect on Hercules or
  1021.                                   Mono modes.
  1022.                                       Application software should never
  1023.                                   try to wait in Hercules modes since the
  1024.                                   CGA registers may not even exist and
  1025.                                   the Hercules standard does not require
  1026.                                   it.
  1027.                        (CX) = ATHENA/HGCIBM version number
  1028.                               (CH) has major version
  1029.                               (CL) has minor version
  1030.         * set cx to 0 before calling function BFh, if 0 is returned,
  1031.         ATHENA.SYS or HGCIBM.COM is not installed. If the major version is
  1032.         greater than or equal to 3, the response is from ATHENA.SYS.
  1033.         HGCIBM.COM will not be upgraded past major version 2. All
  1034.         future enhancements will be limited to ATHENA.SYS or language
  1035.         libraries.
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.                                        16
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.         ; *****
  1062.         (AH) = 0      SetMode - (AL) contains new mode value
  1063.                       The new mode is set according to the current
  1064.                       switches and the screen is cleared.
  1065.  
  1066.         STANDARD MODES:
  1067.  
  1068.         NEW MODE         EMULATION FLAG         TARGET SCREEN
  1069.  
  1070.         (AL)=0              deactivated         CGA 40x25 b/w text
  1071.                             activated           HERC 40x25 emulation
  1072.         (AL)=1              deactivated         CGA 40x25 Color text
  1073.                             activated           HERC 40x25 emulation
  1074.         (AL)=2              deactivated         CGA 80x25 BW text
  1075.                             activated           HERC 80x25 emulation
  1076.         (AL)=3              deactivated         CGA 80x25 Color text
  1077.                             activated           HERC 80x25 emulation
  1078.         (AL)=4              deactivated         CGA 200x320 Color grph
  1079.                             activated           HERC 200x320   emulation
  1080.         (AL)=5              deactivated         CGA 200x320 BW grph
  1081.                             activated           HERC 200x320   emulation
  1082.         (AL)=6              deactivated         CGA 200x640 BW grph
  1083.                             activated           HERC 200x640 emulation
  1084.         (AL)=7              don't care          MONO 80x25 BW text one page
  1085.  
  1086.         HERC MODES:     If Hercules modes are not allowed, these calls
  1087.                         are ignored.
  1088.  
  1089.         (AL)=27                                 HERC page at B000h
  1090.                  Herc mono mode (supports 8 text pages)
  1091.  
  1092.         Herc Modes:
  1093.         (AL)=28                                 HERC 350x720 at B000
  1094.         (AL)=29                                 HERC 350x720 at B800
  1095.         (AL)=30                                 HERC 350x360 at B000*
  1096.         (AL)=31                                 HERC 350x360 at B800*
  1097.                  *modes 30 and 31 support low and high intensity
  1098.  
  1099.              ATHENA.SYS Version 3.00 provides the standard bios support
  1100.         functions for all of the listed modes.
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.                                        17
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.                              ATHENA LIBRARY VERSIONS
  1128.  
  1129.              These are introduced in the accompanying QBDEMO program.
  1130.         The demo is a short first-hand introduction to ATHENA.SYS and
  1131.         Athena Language Libraries for programmers. There are 2 files
  1132.         required to run the demo:
  1133.  
  1134.              QBDEMOC.EXE    ; QuickBasic library DEMO - BCOM20 program module
  1135.              FEATURES.PRX   ; DEMO text
  1136.  
  1137.         o         To run the demo, place these two files in your default
  1138.              directory and type "QBDEMOC".
  1139.  
  1140.         o         If you have an older style Color Graphics Adapter which
  1141.              "snows" when text is printed, then start the demo as
  1142.              "QBDEMOC/W".
  1143.  
  1144.         o         If you have a Hercules Card AND a Hercules CGA card AND
  1145.              both are attached to monitors, then start the demo as
  1146.              "QBDEMOC/H".
  1147.  
  1148.         o         If you have a Leading Edge, no switches are required.
  1149.  
  1150.         o         You may use both "/H" AND "/W" on the same command line.
  1151.  
  1152.         o         It makes no difference whether HGCIBM is installed or
  1153.              not to run the demo, since ATHENA BIOS is linked with the
  1154.              demo and will be used in either case.
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.                                        18
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.          ----------------end-of-author's-documentation---------------
  1194.  
  1195.                         Software Library Information:
  1196.  
  1197.                    This disk copy provided as a service of
  1198.  
  1199.                         The Public (Software) Library
  1200.  
  1201.                   Disks in the library are updated monthly.
  1202.          For a copy of the latest monthly software library newsletter
  1203.           and a list of the 800+ disks in the library, call or write
  1204.  
  1205.                         The Public (Software) Library
  1206.                                P.O.Box 35705 K
  1207.                            Houston, TX 77235-5705
  1208.                                (713) 721-6104
  1209.  
  1210.          We are not the authors of this program, nor are we associated
  1211.          with the author in any way other than as a distributor of the
  1212.          program in accordance with the author's terms of distribution.
  1213.  
  1214.          Please direct shareware payments and specific questions about
  1215.          this program to the author of the program, whose name appears
  1216.          elsewhere in  this documentation. If you have trouble getting
  1217.          in touch with the author,  we will do whatever we can to help
  1218.          you with your questions. All programs have been tested and do
  1219.          run.  To report problems,  please use the form that is in the
  1220.          file PROBLEM.DOC on many of our disks or in other written for-
  1221.          mat with screen printouts, if possible.
  1222.  
  1223.